package com.zhuiYun.project.api.userAddress.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName UserAddressModel
 * @Description 收货地址类
 * @Author 胡亮
 * @Date 2023年4月4日09:54:57
 **/
@ApiModel("收货地址类")
@Data
public class UserAddressModel implements Serializable {

    @ApiModelProperty("主键id新增时无需填写")
    private Integer id;
    //收货人
    @ApiModelProperty("收货人")
    private String addressConsignee;
    //所在地区省(汉字)
    @ApiModelProperty("所在地区省(汉字)")
    private String addressLocationProvince;
    //所在地区省(id)
    @ApiModelProperty("所在地区省(id)")
    private String addressLocationProvinceId;
    //所在地区市(汉字)
    @ApiModelProperty("所在地区市(汉字)")
    private String addressLocationCity;
    //所在地区市(id)
    @ApiModelProperty("所在地区市(id)")
    private String addressLocationCityId;
    //所在地区县(汉字)
    @ApiModelProperty("所在地区县(汉字)")
    private String addressLocationCounty;
    //所在地区县(id)
    @ApiModelProperty("所在地区县(id)")
    private String addressLocationCountyId;
    //详细地址
    @ApiModelProperty("详细地址")
    private String addressDetailed;
    //手机号
    @ApiModelProperty("手机号")
    private String addressTelephoneShift;
    //固定电话
    @ApiModelProperty("固定电话")
    private String addressTelephoneFixed;
    //邮箱地址
    @ApiModelProperty("邮箱地址")
    private String addressEmail;
    //地址别名
    @ApiModelProperty("地址别名")
    private String addressAlias;
    //创建时间
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date addressCreateTime;
    //修改时间
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date addressUpdateTime;
    //是否是默认(1是默认0不是默认)
    @ApiModelProperty("是否是默认(1是默认0不是默认)")
    private Integer addressFlag;
    //用户表id(表示这条数据属于那个用户)
    @ApiModelProperty("用户表id")
    private Integer userId;
    //所在地区(非数据库字段前台页面存汉字版所在地区)
    @Transient
    private String location;
    //所在地区(非数据库字段前台页面存id版所在地区)
    @Transient
    private Integer[] locationId;
}
